User loginNavigation |
Derivatives and dissections of data typesThe Derivative of a Regular Type is its Type of One-Hole Contexts by Conor McBride was mentioned on LtU several times. If you enjoyed it, try a new paper by the same author: More generic programming, more parallels between data types and calculus, more fun. As usual for Conor's paper, it's short and full of (sometimes obscure) humor. Beware of typos, though. By Andris Birkmanis at 2007-01-03 21:35 | Functional | Type Theory | 18 comments | other blogs | 19873 reads
Why numbering should start at 0EWD831 by E.W. Dijkstra, 1982.
What's the modern trend for indexing from zero vs. indexing from one? And for specifying ranges ("from 5 to 8", AgentSheets: End-User Programing (and Secret Lisp Success Story!)Several interesting papers have been published by researchers at the University of Colorado investigating ways of making end-user programming more accessible, especially to secondary-level (i.e., High School) students. In many ways, this work reminds me of the efforts of the PLT group and their excellent DrScheme software implementation, though its strong graphical leanings makes for wonderful eye candy. I stumbled across this body of work while trying to generate some OpenGL models from Common Lisp. It turns out that most of the AgentSheets system is built on top of a DSL embedded in Common Lisp called AgenTalk. AgentTalk is implemented on top of MCL and Allegro Common Lisp. (Interestingly, an apparently independent AgentTalk appears to have been implemented on top of DrScheme.) I found several items of note:
More Haskell in Java 7 or 8?An interesting blog post from Ralf Lammel which may raise some reactions...
The post refers to the paper JavaGI: Generalized Interfaces for Java (Stefan Wehr and Ralf Lammel and Peter Thiemann). Here's a teaser:
Seymour Papert injured in traffic accidentI just heard about Papert's tragic accident. Thankfully, what I am reading suggests that his condition is improving. Papert is the father of the Logo programming language which, apart from being the first programming language I learned, is one of the most important attempts to use computers, and programming in particular, in education. Flowers for Seymour is an attempt to create a virutal flower album to provide emotional support for Papert and his family. This is a nice gesture, and I hope the LtU community will contribute to it. The album includes only a few flower images created in Logo, which is a shame. It would be nice to see more images created using the wonderful tool Papert gave us. Our prayers are with Seymour Papert and his family. Data Parallel Haskell: a status reportData Parallel Haskell: a status report. Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, Gabriele Keller, and Simon Marlow.
NESL was mentioned here in the past a few times, as was data parallelism in general. By Ehud Lamm at 2006-12-23 14:26 | Functional | Parallel/Distributed | 2 comments | other blogs | 9266 reads
Public service announcement: "LtU Books" In IndiaThis will be of interest to LtU readers in India and maybe for others as well. By Ehud Lamm at 2006-12-23 12:23 | Misc Books | login or register to post comments | other blogs | 7119 reads
The Joins Concurrency LibraryThe Joins Concurrency Library. Claudio Russo.
In the Joins library, the scheduling logic that would be compiled into the corresponding Comega class receives a separate, first-class representation as an object of the special The library also supports dynamic joins, which are not available in Comega, implemented by joining arrays of channels (with the size of the array being determined at runtime). The major weakness of the Joins library is speed, since the static apporach of Comega provides more room for optimization (see the brief discussion in sec. 6). A modern eye on ML type inference - Pottier 2005
A recent enlightening discussion on recursive type inference at comp.lang.functional brought the following tutorial paper on ML type inference to my attention.
A modern eye on ML Type Inference by Francois Pottier INRIA September 2005. Hindley and Milner’s type system is at the heart of programming languages such as Standard ML, Objective Caml, and Haskell. Its expressive power, as well the existence of a type inference algorithm, have made it quite successful. Traditional presentations of this algorithm, such as Milner’s Algorithm W, are somewhat obscure. These short lecture notes, written for the APPSEM’05 summer school, begin with a presentation of a more modern, constraint-based specification of the algorithm, and explain how it can be extended to accommodate features such as algebraic data types, recursion, and (lexically scoped) type annotations. Then, two chapters, yet to be written, review two recent proposals for incorporating more advanced features, known as arbitrary-rank predicative polymorphism and generalized algebraic data types. These proposals combine a traditional constraint-based type inference algorithm with a measure of local type inference. By cdiggins at 2006-12-23 00:00 | Type Theory | login or register to post comments | other blogs | 8166 reads
Seminar: Classical vs. Quantum ComputationClassical versus Quantum Computation. John Baez. This fall, John Baez has been conducting a seminar on classical and quantum computation. So far they appear to have covered mostly foundations of classical computation (lambda calculus, CCCs, the fixed point theorem). It's interesting to see lambda calculus introduced to an audience already comfortable with category theory. Excellent lecture notes are available for each week with a bit of supporting material, and there have been blog posts for each class on The n-Category Cafe (the most recent one is here). The blog posts have some extra discussion, and comments, of course. The seminar continues in the spring and I'm sure people may want to follow along... By Matt Hellige at 2006-12-21 21:16 | Theory | login or register to post comments | other blogs | 5829 reads
|
Browse archives
Active forum topics |
Recent comments
2 weeks 4 days ago
2 weeks 4 days ago
2 weeks 6 days ago
2 weeks 6 days ago
3 weeks 4 days ago
3 weeks 4 days ago
3 weeks 4 days ago
6 weeks 4 days ago
7 weeks 3 days ago
7 weeks 3 days ago